// 用来缓存 对话框数据。
function NW05_dhk_gt(nw, hc, fq, pz_zdc, pz_zdh, pz_g, pz_k) {
    this.nw = nw;
    this.hc = hc;           //缓存池

    this.fq = fq;           //父亲容器。即，对话框是 fq的儿子
    this.zdcRQ = null;           //对话框 容器(遮挡层)
    this.nrcRQ = null;           //容器里面的 内容层
    this.btJD = null;
    this.stJD = null;
    this.jbJD = null;
    this.gbAN = null;            //关闭按钮
    this.zdhAN = null;           //最大化按钮

    this.zdcDW = 'gddw';       //定位：固定定位 gddw； 相对定位 xddw
    this.wz = 'zzj'         //位置：zzj表示正中间

    this.geli = false;//隔离。 真值=表示内容区嵌入一个iframe; 假值=不嵌入iframe
    this.dizhi = ''

    this.zdc_ys = 'blue'    //遮挡层颜色
    //标题
    this.bt_g = '35px';//默认高
    this.bt_ys = 'rgb(227, 189, 245)'//默认背景颜色
    //内容
    this.nr_ys = 'rgb(243, 217, 255)';
    //脚部
    this.jb_g = '35px';
    this.jb_ys = 'rgb(220, 159, 248)'

    this.pz_zdc = pz_zdc;   //用户的配置。 遮挡层： 真值=启用遮挡层；假值=与内容层 同尺寸
    this.pz_zdh = pz_zdh;   //用户的配置。 最大化： 真值=最大化；假值=指定高宽。
    this.pz_g = pz_g == 'zd' ? '' : pz_g;       //用户的配置。对话框的高
    this.pz_k = pz_k == 'zd' ? '' : pz_k;       //用户的配置。对话框的宽
}

// ======================↓↓↓=========================
//1、创建遮挡层
NW05_dhk_gt.prototype._cjZDC = function () {
    //创建属性
    let _SX = { style: 'background-color:' + this.zdc_ys + ' ; z-index: 999;position: absolute;' }
    _SX[this.zdcDW] = this.wz;
    if (this.pz_zdc || this.pz_zdh) {   //最大化，或启用遮挡层时
        _SX.g = '';//与父同高宽
        _SX.k = '';//与父同高宽
    } else {
        _SX.g = this.pz_g
        _SX.k = this.pz_k
    }
    this.zdcRQ = this.nw.cj2(this.fq.jd.cjEZ('div', _SX));
}

//2、在遮挡层 内，创建一个【内容层】容器
NW05_dhk_gt.prototype._cjNRC = function () {
    let _SX = {}
    //如果遮挡层与父同尺寸（100%）。那么，用户配置的位置，直接调整 内容层
    _SX.xddw = this.pz_zdc ? this.wz : "zzj"
    //  1、非启用遮挡层（这时，遮挡层的高宽 = 内容层的高宽）  
    //  2、最大化，则与遮挡层一样的高宽
    if (!this.pz_zdc || this.pz_zdh) {
        _SX.g = '';//与父同高宽
        _SX.k = '';//与父同高宽
    } else {
        _SX.g = this.pz_g
        _SX.k = this.pz_k
    }
    this.nrcRQ = this.nw.cj2(this.zdcRQ.jd.cjEZ('div', _SX));
}
// 2.1、在内容层容器里面，创建一个标题
NW05_dhk_gt.prototype._cjNRC_tb = function (nr) {
    this.btJD = this.nw.cj2(this.nrcRQ.jd.cjEZ('div', {
        g: this.bt_g, k: '', l: '1', h: '1', style: 'background-color:' + this.bt_ys
    }));
    this.btJD.jd.xgNR_html(nr);//写入标题内容
}
// 2.2、在内容层容器里面，创建一个内容区
NW05_dhk_gt.prototype._cjNRC_st = function (nr) {
    this.stJD = this.nw.cj2(this.nrcRQ.jd.cjEZ('div', {
        g: 'zd', k: '', l: '1', h: '2',
        style: 'background-color:' + this.nr_ys + ';overflow:' + (this.geli ? 'hidden' : 'auto')
    }));
    if (this.geli) {
        let _geliPZ = {
            gk: '',
            frameborder: 0,
            style: 'background-color:' + this.nr_ys + ';overflow:auto'
        }
        _geliPZ.src = this.dizhi;
        this.stJD = this.nw.cj2(this.stJD.jd.cjEZ('iframe', _geliPZ));
    } else {
        this.stJD.jd.xgNR_html(nr);//写入内容
    }
}
// 2.3、在内容层容器里面，创建一个脚部
NW05_dhk_gt.prototype._cjNRC_jb = function (nr) {
    this.jbJD = this.nw.cj2(this.nrcRQ.jd.cjEZ('div', {
        g: this.jb_g, k: '', l: '1', h: '3', style: 'background-color:' + this.jb_ys
    }));
    this.jbJD.jd.xgNR_html(nr);//写入标题内容
}
// 2.4、在内容层容器里面，创建一个关闭按钮
NW05_dhk_gt.prototype._cjNRC_gbAN = function (ycAN) {
    if (ycAN) {
        return null;
    }
    this.gbAN = this._ngj_cjBJ('ysj,5', 'x');
    return this.gbAN;
}
// 2.5、在内容层容器里面，创建一个关闭按钮
NW05_dhk_gt.prototype._cjNRC_zdhAN = function (ycAN) {
    if (ycAN) {
        return null;
    }
    this.zdhAN = this._ngj_cjBJ('ysj,25', '口');
    return this.zdhAN;
}
// 在内容层容器里面，创建部件
NW05_dhk_gt.prototype._ngj_cjBJ = function (wz, fh) {
    let _WO = this.nw.cj2(this.nrcRQ.jd.cjEZ('div', { xddw: wz }));
    _WO.jd.xgNR_html('<a href="javascript:void(0)" style="text-decoration:none">' + fh + '</a>');
    return _WO;
}

NW05_dhk_gt.prototype.jiazaiNR = function (csDX, fwLX) {
    if (this.geli) {
        return;
    }
    if (!fwLX) {
        fwLX = 'get'
    }
    switch (fwLX) {
        case 'get':
            this.nw.ff.yc.n(this.dizhi, csDX, this, 'json'); break;
        default:
            this.nw.ff.yc.by(this.dizhi, csDX, this, 'json'); break;
    }

}

NW05_dhk_gt.prototype._03yc_qq_cg = function (shuju) {
    if (shuju) {
        if (shuju.bt || shuju.BT) {
            this.btJD.jd.xgNR_html(shuju.bt ? shuju.bt : shuju.BT);
        }
        if (shuju.nr || shuju.NR) {
            this.stJD.jd.xgNR_html(shuju.nr ? shuju.nr : shuju.NR);
        }
        if (shuju.jb || shuju.JB) {
            this.jbJD.jd.xgNR_html(shuju.jb ? shuju.jb : shuju.JB);
        }
        this._gx();
    }
}



// ======================↑↑↑=========================

//判断是否是 关闭按钮
NW05_dhk_gt.prototype.pdAN_gb = function (anJD) {
    return this.gbAN && this.gbAN.Jiedian == anJD;
}

//判断是否是 最大化按钮
NW05_dhk_gt.prototype.pdAN_zdh = function (anJD) {
    return this.zdhAN && this.zdhAN.Jiedian == anJD;
}

NW05_dhk_gt.prototype.bt = function (nr) {
    return this._ngj_nr(this.btJD, nr)
}
NW05_dhk_gt.prototype.st = function (nr) {
    if (this.geli) {
        this.stJD.jd.xgSX({ src: nr })
        return;
    }
    return this._ngj_nr(this.stJD, nr)
}
NW05_dhk_gt.prototype.jb = function (nr) {
    return this._ngj_nr(this.jbJD, nr)
}

NW05_dhk_gt.prototype._ngj_nr = function (nwJD, nr) {
    if (nr != undefined) {
        nwJD.jd.xgNR_html(nr);
    } else {
        return nwJD.jd.hqNR_html();
    }
}


NW05_dhk_gt.prototype.xs = function () {
    this.zdcRQ.ys.xs();
    this._gx();
}

NW05_dhk_gt.prototype.xsBT = function () {
    this.btJD.ys.xs();
    this._gx();
}

NW05_dhk_gt.prototype.xsJB = function () {
    this.jbJD.ys.xs();
    this._gx();
}

//删除对话框
NW05_dhk_gt.prototype.sc = function () {
    this.zdcRQ.jd.sc();
    for (let i = 0; i < this.hc.length; i++) {
        if (this.hc[i].rq == this.zdcRQ) {
            this.hc.splice(i, 1);
        }
    }
}

//最大化|还原 对话框
NW05_dhk_gt.prototype.zdh = function () {
    if (this.pz_zdh) {//已经是最大化。则，强制还原

        //内容层在 遮挡层里面。还原时，也要把 锁定层还原到最开始的状态
        if (!this.pz_zdc) { //假值=与内容层 同尺寸
            this.zdcRQ.jd.xgSX({ g: this.pz_g, k: this.pz_k })//还原尺寸
            this.nrcRQ.jd.xgSX({ g: '', k: '' })
        } else {
            this.nrcRQ.jd.xgSX({ g: this.pz_g, k: this.pz_k })//还原尺寸
        }
    } else {
        let _pz = { g: '', k: '' };
        //内容层在 遮挡层里面。最大化之前，还要把遮挡层调整为最大尺寸。
        if (!this.pz_zdc) { //假值=与内容层 同尺寸
            this.zdcRQ.jd.xgSX(_pz)
        }
        this.nrcRQ.jd.xgSX(_pz)
    }
    this.pz_zdh = !this.pz_zdh;//取反。真变假。假变真
    this._gx();
}

// 更新
NW05_dhk_gt.prototype._gx = function () {
    // nw.ck.dw.stDW();//立马定位
    this.nw.ck.bj.stBJ();
    this.nw.ck.dw.stDW();//立马定位
    this.nw.ck.bj.stBJ();
    this.nw.ck.dw.stDW();//立马定位

    this.nw.ck.bj.buju(this.zdcRQ)
    this.nw.ck.dw.dw(this.zdcRQ);//立马定位
    this.nw.ck.bj.buju(this.zdcRQ)
    this.nw.ck.dw.dw(this.zdcRQ);//立马定位
}